package com.xiaozhen.blog.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xiaozhen.blog.entity.Blog;
import com.xiaozhen.blog.entity.vo.BlogAndUserVo;

import java.util.List;
import java.util.Map;

/**
 * @create 2023-04-21 14:10
 */
public interface BlogService extends IService<Blog> {
    /**
     * 小圳博客分页
     *
     * @param pageParam
     * @return
     */
    Page<Blog> blogPage(Page<Blog> pageParam);

    /**
     * 小圳博客分页
     *
     * @param pageParam
     * @return
     */
    Page<Blog> blogPage2(Page<Blog> pageParam);

    /**
     * 获取最新博客
     *
     * @return
     */
    List<Blog> newBlog();

    /**
     * 通过博客id获取博客详情和博主信息
     *
     * @param blogId
     * @return
     */
    BlogAndUserVo getBlogAndUser(Long blogId);

    /**
     * 查询每年发的博客的标题和日期
     * @return
     */
    Map<String,List<Blog>> archiveBlog();

    /**
     * 搜索返回博客列表
     * @param query
     * @param pageParam
     * @return
     */
    public Page<Blog> search(String query,Page<Blog> pageParam);
}
